package vip.xiaomaoxiaoke.functiondemo.msg.annotate;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 本地消息注解
 * */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface LocalMessage {

    String msgIdExpression() default "";
    /**
     * 是否有序
     * */
     boolean orderly() default false;

    /**
     * 分区标识符，如果orderly为true 则相同的shardingKey会严格按照顺序去执行
     * 不管orderly怎么样，只要不为空，发送rocketmq实会设置为消息key,发送kafka时会作为分区key
     * */
    String shardingKey() default "";


    /**
     * 时间间隔
     * */
    int timeTnterval() default 10;


    /**
     * 最大重试次数
     * */
    int maxRetries() default 9;


}
